#ifndef _UTILS_H

#define _UTILS_H

#include <cstdio>
#include <cstdlib>
#include <vector>
#include <cstring>
#include <string>
#include <ctime>

#define UNIX

#ifdef UNIX

#include "fftw3.h"
char ctlg[] = "3DHAbs10/";

#else

#include "..\fft\fftw3.h"
char ctlg[] = "3DHAbs10\\";

#endif

using namespace std;

#define VF vector<fcomplex>
#define VVF vector<VF > 
#define VVVF vector<VVF > 

#define VP vector<Point >
#define VVP vector<VP >
#define VVVP vector<VVP >

#define FOR(i, a) for(int i = 0; i < (a); ++i) 
#define FORV3(i, a, b) for(VVVF::iterator i = (a); i != (b); ++i)
#define FORV2(i, a, b) for(VVF::iterator i = (a); i != (b); ++i)
#define FORV1(i, a, b) for(VF::iterator i = (a); i != (b); ++i)
#define FORA(i, a, n) for(int i = a; i < n; ++i)

#define MP make_pair
#define MPoint(x,y,z) MP(MP(x,y), z)

#endif
